XE (eXtreme Editor) - Tool Support for Evolution in Aspect-Oriented Programming
نویسندگان
چکیده
In spite of themodularizationbene!ts supportedby theAspect-Orientedprogrammingparadigm, di"erent usability issues have hindered its adoption.#e decoupling between aspect de!nitions and base code, and the compile-time weaving mechanism adopted by di"erent AOP languages, require developers to manage the consistency between base code and aspect code themselves.#ese mechanisms create opportunities for errors related to aspect weaving invisibility and non-local control characteristics of AOP languages. In short, AOP developers lack adequate support for: 1) visualizing and identifying the exact points in the code where aspects are woven; 2) preventing aspect-base code inconsistencies, and 3) evolving aspect-oriented code in a coherent way.#is paper describes XE (Extreme Editor), an IDE that supports developers in managing these issues in the functional aspect-oriented programming domain. We validate our approach through a case study showing how XE reduces the cognitive e"ort of developers in evolving AOP programs.
منابع مشابه
Adapting Aspect-Oriented Applications: A Trial Experience
During a system’s life cycle, new requirements or changes in the existing ones imply modifying the system. Aspect-oriented software development is a new approach to the modularization of systems, yet it does not provide mechanisms to aid the evolution of software. The effort required to support the evolution greatly depends on the tool used for its construction. For this reason, the selection o...
متن کاملAJaTS – AspectJ Transformation System: Tool Support for Aspect-Oriented Development and Refactoring
The interest in aspect-oriented software development naturally demands tool support for both implementing and evolution of aspect-oriented applications, as well as refactoring current object-oriented software to aspectoriented. In this paper, we present AJaTS – a general purpose AspectJ Transformation System for AspectJ code generation and transformation. AJaTS allows the specification of aspec...
متن کاملPhD Research Proposal Aspects to Support the Software Process
We have suggested [14] using the aspect-oriented paradigm to support the software development process by composing (weaving) aspects into the software development environment. In the first part of our research we have defined aspects to support the Extreme Programming (XP) development methodology and then wove them into the Eclipse platform. Several directions for future research have been iden...
متن کاملDwarf Frankenstein is still in your memory: tiny code reuse attacks
Code reuse attacks such as return oriented programming and jump oriented programming are the most popular exploitation methods among attackers. A large number of practical and non-practical defenses are proposed that differ in their overhead, the source code requirement, detection rate and implementation dependencies. However, a usual aspect among these methods is consideration of the common be...
متن کاملAdding Aspect-Oriented Programming Features to C#.NET by using Multidimensional Separation of Concerns (MDSOC) Approach
Aspect Oriented Programming (AOP) methodology is based on the idea that computer systems are better programmed by separately specifying the various concerns of a system and some description of their relationships, and then relying on mechanisms in the underlying AOP environment to automatically weave them together into a coherent program. The term Aspect Oriented Programming includes Multidimen...
متن کامل